Editor spínačů

To je nejvyspělejší a nejvýkonnější část Editoru světů. Editor spínačů poskytuje naprostou kontrolu nad každým prvkem hry. Je to zjednodušený programovací jazyk navržený tak, aby byl přístupný i nováčkům, ale aby byl přesto dostatečně výkonný a uspokojil tužby i pokročilejších uživatelů. Chcete-li otevřít editor spínačů, stiskněte F4 nebo z nabídky Modul vyberte Editor spínačů.

Spínač je složen ze třech částí: událostí, podmínek a činností. Činnosti spínače se aktivují, když dojde ke vzniku některé z jeho událostí, jejíž podmínka je splněna.
 

Události

Události startují proces, který může vést k sepnutí spínače. Jakmile dojde k události spínače, vyhodnocují se její podmínky a následně se může projevit činnost spínače. Standardní spínač na mapě je "Inicializace šarvátky". Standardní událostí tohoto spínače je "Map initialization" - Inicializace mapy. V zásadě to znamená, že v okamžiku, kdy je dokončeno nahrávání mapy, dojde k provedení jeho činnosti: spínač nemá žádnou podmínku, která musí být splněna. Pokud chcete, můžete tuto událost nastavit na "Čas - Elapsed game time" Čas - Uplynula doba a pak změnit počet sekund na deset. Mapa pak spustí spínač "Inicializace šarvátky" po deseti sekundách od svého zavedení.


Podmínky

Podmínky jsou zvláštní požadavky, které musí být splněny, aby se mohla projevit činnost spínače. Podmínka musí mít hodnotu pravda, jinak činnost spínače neproběhne. Tento způsob uvažování o podmínkách může být ošidný, protože můžete mít podmínky jako "Nepravda Je rovno Nepravda" -- což je podmínka, jejíž pravdivostní hodnota je vždy pravda. Standardní spínač "Inicializace šarvátky" nemá žádnou standardní podmínku; tak si jednu přidáme. Stiskněte Ctrl + D, pak vyberte "Game Speed Comparison" - Porovnání rychlosti hry. Dialogové okno pak bude obsahovat modrý text: "(Aktuální rychlost hry) Je rovno Normální." Pokud necháte podmínku tak, jak je, a pak z editoru spustíte mapu, spustí se spínač "Inicializace šarvátky" normálně, pokud jste neměnil nějakou jinou část spínače a nezměnil jeho standardní hodnoty. Pokud však změníte "Normální" na "Rychlá", spínač "Inicializace šarvátky" se v editoru nespustí. To proto, že editor nastavuje rychlost hry vždy při spuštění mapy automaticky na "Normální". Podmínka bude vyhodnocena jako "Normální rychlost je rovna rychlé", což je však podmínka, jejíž pravdivostní hodnota je nepravda.

Jistým rozdílem mezi podmínkami a událostmi je to, že podmínky se vyhodnocují až poté, kdy došlo k příslušené události popisované spínačem. Dále, přestože spínač může mít několik událostí, stačí, aby došlo k jediné z nich, a může se projevit činnost spínače. Naproti tomu, aby se mohla činnost spínače projevit, musí být současně pravdivé všechny jeho podmínky.

Jedinou věcí, kterou spínač skutečně potřebuje, je činnost. (Dobrá, bráno do důsledků to není úplná pravda. Přesto, pokud nebude mít spínač žádnou činnost, nemá ve hře žádný účinek, a proto nemá ani žádné skutečné místo ve skriptu.) Je však důležité zmínit, že spínače nepotřebují podmínky ani události, aby mohly být jejich činnosti ve hře vykonány. Spínače lze spustit z jiných spínačů pomocí činnosti "Trigger - Run (Ignore Conditions)" -- Spínač - spustit (bez ohledu na podmínky), čímž se spustí činnosti jiného spínače, nehledě na jeho podmínky či události, ke kterým se váže.


Činnosti

Činnosti jsou výsledky spínače. Může to být cokoliv od přesunutí kamery na určitou jednotku jako v kině po příkaz jednotce zaútočit na jednotku jinou. Činnosti poskytují návrháři naprostou kontrolu nad tím, co se ve hře stane.


Vytváření spínačů

Editor spínačů otevřete stiskem F4 nebo výběrem Editor spínačů z nabídky Modul.

Než budete spínač vytvářet, musíte mít kategorii, do které jej umístíte. Novou kategorii vytvořte výběrem Kategorie z nabídky Nový. Ve stromovém seznamu nalevo uvidíte právě vytvořenou kategorii. Kategorie mají ikony složek. Kategorii můžete pojmenovat buď tak, že napíšete její název ihned poté, kdy ji vytvoříte, nebo výběrem kategorie, stiskem F2 a napsáním nového názvu.

Chcete-li vytvořit nový spínač, vyberte právě vytvořenou kategorii. Pak z nabídky Nový vyberte položku Spínač. Zvolte spínač, který jste právě vytvořil. Můžete si povšimnout, že rámeček spínače obsahuje nyní napravo dva proškrtávací rámečky:

Zapnuto - Není-li tento rámeček proškrtnutý, je tento spínač vypnut a nemůže být během hry použit.
Na začátku zapnuto - Není-li tento rámeček proškrtnutý, začíná spínač hru jako vypnutý, ovšem může být během hry zapnut pomocí činnosti "Spínač - zapnout". Spínač, který má zapnout jiný spínač, ignoruje stav zapnuto/vypnuto.

Napravo v rámečku spínače jsou také některá další políčka:

Komentář spínače - Toto políčko slouží k zapsání komentářů, které slouží jako poznámka pro vás a pro další, kteří by chtěli váš skript upravovat. Komentáře nemají vůbec žádný vliv na funkčnost spínače; slouží výhradně jako vaše vlastní poznámky.
Fukce spínače - Zde jsou zobrazeny vnitřnosti spínače. V této části editoru můžete najít všechny události, podmínky a činnosti. Pokud přidáte událost, podmínku nebo činnost, zařadí se sem do příslušného oddílu.

Události, podmínky a činnosti můžete mezi spínači či dokonce mezi mapami kopírovat. Chcete-li upravit již vytvořenou událost, podmínku nebo činnost, stačí na ně poklepat.

Další věci, která vám mohou, ale nemusí být jasné, jsou proměnné, funkce a nastavení.


Proměnné

Oddíl editoru s proměnnými můžete otevřít stiskem Ctrl + B nebo výběrem položky Proměnné z nabídky Úpravy v editoru spínačů. Proměnné se chovají velice podobně proměnným z programovacích jazyků BASIC nebo C. Proměnné jsou jako zásobník, který editor používá k uchování určitých typů dat, mohou však měnit svůj obsah: nesou ale pouze jeden typ dat. Nemůžete například vložit celé číslo do proměnné typu jednotka.

Spínačem se můžete odkazovat na objekty, které již byly na mapu umístěny. Řekněme, že chcete vyvolat nějakou činnost jednotky. Otevřete tedy činnost, kterou má jednotka provést, a klepněte levým tlačítkem na příslušnou část jejího popisu. Červený a modrý podtržený text označuje ty části činnosti, které lze upravit. Nyní klepněte na tlačítko Vybrat jednotku. Pak na mapě vyberte jednotku. Název proměnné vámi vybrané jednotky bude nyní uveden v seznamu proměnných.

Zkuste následující: na prázdnou mapu umístěte peóna orků. Spusťte editor spínačů stiskem F4. Vytvořte kategorii stiskem Ctrl + G. Pak vytvořte spínač stiskem Ctrl + T. Pomocí Ctrl + R vytvořte novou činnost. Čtyřikrát stiskněte U, abyste vybral činnost "Unit - Kill" -- Jednotka - zabít. Popisný text tohoto spínače je "Jednotka - Zabít (Triggering unit)." Klepněte levým tlačítkem na modrý podtržený text "(Triggering Unit)" (Spínající jednotka). Klepněte levým tlačítkem na tlačítko s nápisem Vybrat jednotku (vlevo od tlačítka Upravit proměnné). Vyberte peóna. Blahopřejeme! Právě jste přiřadil spínač peónovi na mapě. Všechny jednotky, které jsou na mapě umístěné, mají svoji proměnnou.

Potřebujete-li bližší vysvětlení významu proměnných, doporučujeme obeznámit se s jejich funkcí v nějakém programovacím jazyce. (Ať žije C++!)


Funkce

Editor spínačů obsahuje mnoho funkcí, které poskytují uživateli větší pružnost a lepší kontrolu než jakékoliv jiné editory, které Blizzard vydal v minulosti. Funkce se obvykle používají ve spojení s proměnnými a určitými datovými typy. Užitečná je například funkce "Last created unit" (Naposledy vytvořená jednotka). Ta zpřístupňuje jednotku, která byla právě vytvořena prostřednictvím "Jednotka - Create" (Jednotka - vytvořit), a je v podstatě jednou ze dvou funkcí, které umožňují odkazovat na jednotku vytvořenou během hry (druhou funkcí je "Last Created Unit Group" -- Naposledy vytvořená skupina jednotek). Tyto funkce lze použít namísto proměnných zastupujících jednotky nebo jednotek, které byly na mapu umístěny už během její tvorby. Pamatujte však, že funkce vracejí hodnoty; nemůžete ručně nastavit, že se funkce rovná nějaké hodnotě, třeba uložené v proměnné. Proměnnou však můžete naplnit výslednou hodnotou funkce.

Jestliže, například, jste pomocí události právě zjistil, že se hrdina dostal na novou úroveň, pak "Event Response - Leveling Hero" (Reakce na událost - postup hrdiny na další úroveň) odkazuje pouze na příslušného hrdinu. Nemůžete jednoduše nastavit, aby se funkce rovnala nějakému jinému hrdinovi, a doufat, že se s tím Editor světů spokojí. Chcete-li povýšit úroveň určitého hrdiny, musíte použít nějaký jiný způsob, jak se k němu dostat (např. událost "Unit - Owned Unit Event " -- Jednotka - událost hráčovy jednotky a podmínka "Unit - Type Comparison" -- Jednotka - typ porovnání), a teprve potom použít příslušnou činnost hrdiny, jako například "Hero - Set Level" (Hrdina - nastavit úroveň).


Konstanty

Konstanty jsou data vestavěná do editoru. Nemusíte dělat vůbec nic, abyste je zpřístupnil. Navíc se nikdy nemění. Příkladem konstanty je "Hráč 1 (červený)".


Hodnota

Další políčko, které je často možné upravit, je pole hodnoty. Toto pole umožňuje zadat údaje přímo. Například se toto pole objeví u činnosti "Game - Text Message (Auto-Timed)" -- Hra - Textová zpráva (automaticky časovaná). Když klepnete levým tlačítkem na modré, podtržené slovo Text, otevře se okno pro zadání řetězce. Poslední volbou v tomto okně bude Hodnota. Chcete-li zadat jednoduchou zprávu, můžete ji napsat do tohoto políčka přímo; nemusíte kvůli tomu vytvářet novou proměnnou ani volat funkci.